package xyz.xtt.exchange.service;

import com.baomidou.mybatisplus.extension.service.IService;

import xyz.xtt.exchange.entity.TblAssetUserConfig;

/**
 * <p>
 * 资产用户设置表 服务类
 * </p>
 *
 * @author author
 * @since 2025-02-18
 */
/**
 * @return
 */
public interface ITblAssetUserConfigService extends IService<TblAssetUserConfig> {
	/**
	 * @param buildTblAssetUserConfig
	 * @return
	 */
	boolean saveOrUpdateConfig(TblAssetUserConfig buildTblAssetUserConfig);

	/**
	 * @param userId
	 * @param assetId
	 * @return
	 */
	TblAssetUserConfig infoConfig(Long userId, Long assetId);

	/**
	 * @param userId
	 * @param assetId
	 * @return
	 */
	TblAssetUserConfig infoConfigWithCache(Long userId, Long assetId);

	/**
	 * 保存配置
	 * 
	 * @param newConfig
	 * @return
	 */
	boolean saveConfig(TblAssetUserConfig newConfig);

	/**
	 * 更新配置
	 * 
	 * @param assetUserConfig
	 * @param newConfig
	 * @return
	 */
	boolean updateConfig(TblAssetUserConfig assetUserConfig, TblAssetUserConfig newConfig);

	/**
	 * @param assetUserConfig
	 * @param newConfig
	 * @return
	 */
	boolean updateConfigPublicityPeriod(Long userId, Long assetId);

	/**
	 * 根据资产id获取资产用户设置
	 * 
	 * @param assetId
	 * @return
	 */
	TblAssetUserConfig getByAssetId(long assetId);
}
